home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / misc-part2 / 11037 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  3.3 KB

  1. Path: nntp.teleport.com!sschaem
  2. From: sschaem@teleport.com (Stephan Schaem)
  3. Newsgroups: comp.sys.amiga.programmer,comp.sys.amiga.games,alt.sys.amiga.demos,comp.sys.amiga.misc
  4. Subject: Re: AB3D II beats Quake....
  5. Followup-To: comp.sys.amiga.programmer,comp.sys.amiga.games,alt.sys.amiga.demos,comp.sys.amiga.misc
  6. Date: 4 Apr 1996 04:04:17 GMT
  7. Organization: Teleport - Portland's Public Access (503) 220-1016
  8. Message-ID: <4jvho1$41l@nadine.teleport.com>
  9. References: <DosA8o.17B@info.uucp> <6538.6658T1031T2526@mbox.vol.it> <4jgn4o$l2b@hell.team17.com> <4jk515$q3l@nadine.teleport.com> <4jkdpu$1o6@hell.team17.com> <4joj14$ghj@nadine.teleport.com> <4js275$98s@hell.team17.com> <4jt8bh$a70@nadine.teleport.com> <4ju1qf$k4@hell.team17.com> <4juplu$n44@nadine.teleport.com> <4jutrg$alh@hell.team17.com>
  10. NNTP-Posting-Host: kelly.teleport.com
  11. X-Newsreader: TIN [version 1.2 PL2]
  12.  
  13. Stefan Boberg (boberg@team17.com) wrote:
  14. : sschaem@teleport.com (Stephan Schaem) wrote:
  15.  
  16. :   The reason why it's slow is that they use floats everywhere. In the
  17. : geometry pipeline as well as in the rasterization. In addition, since
  18. : they're using a piecewise affine mapping for the textures, they have
  19. : quite a few FDIVs in there as well. None of all this is particularly
  20. : fast on a 486.
  21.  
  22.  piecewise affine mapping ? I use fdiv, but maybe very little per polygon.
  23.  
  24. : > How much speedup do you get by using your fixedpoint macro VS float
  25. : > on a 486 in that rendering function?
  26.  
  27. :   I really haven't tried it on a 486 yet. The 3D engine work I've done
  28. : so far is in preparation for my next project, which will have P90 as
  29. : minimum spec machine - so to be honest, I'm not too bothered about
  30. : performance on a 486. It ought to be considerably faster with
  31. : fix-point though, seeing as all floating-point stuff is slow on the
  32. : 486, even more so since my code is optimized for the P5 FPU (boatloads
  33. : of FXCH to keep the multiplier/adders busy).
  34.  
  35.  I haven't touch x86 assembly ... just C, with a look at time to time
  36.  what the compiler is doing. I cant say if its the compiler or an effect
  37.  of the x86, but the same algo in C compiled in x86 turn out to be
  38.  so many more instructions VS handcoded 680x0.
  39.  
  40. : > I use affine tmapping in my perspective correct texture mapping...
  41. : > I tryed 7 variant, from 3 class out of 6 of perspective correct
  42. : > rendering methode.... I choose one based on affine tmapping.
  43.  
  44. :   Yep. Scanline subdivision seems to work best. Free-directional
  45. : mapping can be faster, and is better with mip-maps, but has some ugly
  46. : precision problems. Hyperbolic mapping is kind of neat, but involves
  47. : too many branches. Second-order differences is quite fast, but has
  48. : ugly problems with undershoot/overshoot. Divide-per-pixel is,
  49. : obviously, not good enough for real-time work. What other variants did
  50. : you try (you say 7 variants)?
  51.  
  52.  6... the one you missed is recursive subdivision, and the fastest methode
  53.  I tryed. The variant are just implemtation difference on 3 of those 6 
  54.  methode.
  55.  
  56.  Second order (quadratic interpolation of the '1/z' curve) problem is 
  57.  fixed with a quick subdivision of the face that cause a problem.
  58.  To speed this methode up can use scanline
  59.  subdivision too (one of the variant I tried:). The problem with
  60.  this methode is heavy setup of variable, or heavy compuation each
  61.  scan line.
  62.  
  63.  Stephan
  64.  
  65.